Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
До курсової роботи
з дисципліни: “Програмування. Частина III. Структури даних та алгоритми ”
"Представлення в пам’яті комп’ютера
статичних даних"
Вибір варіантів індивідуального завдання:
Завдання 1: № варіанта = ((8) % 5 ;(4) % 6) = (3;4)
Завдання 2.1: № варіанта = (((4*31)%1)*8+31)%30=3
Завдання 2.2: № варіанта = ((4+31)*(1+8))%30=15
Завдання 2.3: № варіанта = (31 * 10 + 1 * 8) % 30 = 18
Завдання 2.4: № варіанта = (4*3*1+(8%3)*31)%30=14
Завдання 2.5: № варіанта = (4+8+1*31+4*8)%30=15
Завдання на курсову роботуЗавдання 1
Визначити внутрішнє представлення в пам’яті комп’ютера даних базових типів. Розглянути основні прості (цілі, дійсні, символьні, логічні) типи даних:
bool b = ( 4 * 5 ) % 10 * 8 = 20 % 10 * 8 = 0
wchar_t ch4 ='у';
unsigned i3 = 4 * 215;
double d2 = 32.4е + 8;
Завдання 2.1
Визначити внутрішнє представлення в пам’яті комп’ютера даних похідних типів.
char *string3 = "efg\\""""\x22\2!34\4\?545\\\\\"\'f\\df";
Виконати наступні переприсвоювання:
string3 [0] = '6'
string3 [2] = '0'
string3 [4] = '7'
string3 [6] = '1'
string3 [8] = '6'
string3 [10] ='8'
string3 [12] = '5'
string3 [14] = '9'
Завдання 2.2.
Визначити представлення в пам’яті комп’ютера переліків.
enum color15 {
BLUE,
GREEN,
CYAN,
RED,
BROWN = 3,
GRAY,
YELLOW,
WHІTE = 2,
MAGENTA,
LІGHTGRAY,
DARKGRAY,
BLACK
} c1= CYAN,
c2= BROWN,
c3= DARKGRAY;
Завдання 2.3.Визначити представлення в пам’яті комп’ютера масивів.
wchar_t array18[][3][2] = {{7,6,}, {234,56}}
Виконати наступні переприсвоюння:
1 -ий елемент масиву =0; //0 * 4 = 0;
2 -ий елемент масиву =36; //9 * 4 = 36;
3 -ий елемент масиву =24; //6 * 4 = 24;
4 -ий елемент масиву =0; //0 * 4 = 0;
5 -ий елемент масиву =28; //7 * 4 = 28;
6 -ий елемент масиву =4; //1 * 4 = 4;
7 -ий елемент масиву =24; //6 * 4 = 24;
8 -ий елемент масиву =36; //8 * 4 = 36;
9 -ий елемент масиву =20; //5 * 4 = 20;
10 -ий елемент масиву =36; //9 * 4 = 36;
Завдання 2.4.
Визначити представлення в пам’яті комп’ютера структур.
struct str14 {
unsigned e:3;
float a;
unsigned short b:4;
unsigned short :0;
unsigned long d;
char c[6];
signed :5;
long :2;
char f;
}str;
Виконати надання значень елементам структури :
str.a = 4.36;
str.b = 31 * 1 * 124;
str.c[0] = 'P';
str.c[1] = 'e';
str.c[2] = 'l';
str.c[3] = 'e';
str.c[4] = 'n';
str.d = 764 * 31 * 7;
str.e = 4 * 8 * 36;
str.f = '9';
Завдання 2.5.
Визначити представлення в пам’яті комп’ютера об'єднань.
union un15 {
struct {
float f[2];
wchar_t a[10];
};
struct {
float e;
short c;
};
} un;
Виконати надання значень елементам об'єднання :
un.e = 1 * 325 + 1994 * 4;
un.c = 4 * (8 + 31) * 100;
un.a[0] = '1';
un.a[1] = '6';
un.a[2] = '8';
un.a[3] = '5';
un.a[4] = '9';
Зміст
Завдання на курсову роботу………………………………. ст. 2-3
Вступ …………………….…………………….……………..ст.5
Теоретична частина …………………………………… cт. 6-7
Алгоритм розв’язання задачі………………………………ст.8
Система тестів …………………….……………………….ст. 9-19
Результати виконання програм………………………..…ст.20-22
Висновки…………………….…………………….……….ст. 23
Список літератури…………………….…………………….ст. 24
Додатки…………………….…………………….…………ст .25-29
Вступ
Дана курсова робота полягає у вивченні представлення в мові програмування С++ різних типів даних, як простих (логічний, символьний, дійсні, цілі), так і похідних(структури, масиви, перерахування, об’єднання) .
Знати про структури даних важливо, оскільки від правильного вибору структур, на яких буде реалізуватися програмний продукт, залежить ефективність роботи програми. В цій роботі й буде продемонстровано, як саме різні типи даних зберігаються в комп’ютері.
1.Теоретична частина
Базові типи даних
Логічний тип даних
В мові C++ логічний тип (bool) характеризується двома значеннями: false (0) і true (1). В пам'яті комп'ютера змінна типу bool займає ...